#include <iostream>

using namespace std;
//string查找和替换
//查找：查找指定字符串是否存在
//替换：在指定的位置替换字符串

//函数原型：
//1、int find(const string& str, int pos = 0) const;              //查找str第一次出现位置,从pos开始查找
//2、int find(const char* s, int pos = 0) const;                  //查找s第一次出现位置,从pos开始查找
//3、int find(const char* s, int pos, int n) const;               //从pos位置查找s的前n个字符第一次位置
//4、int find(const char c, int pos = 0) const;                   //查找字符c第一次出现位置
//5、int rfind(const string& str, int pos = npos) const;          //查找str最后一次位置,从pos开始查找
//6、int rfind(const char* s, int pos = npos) const;              //查找s最后一次出现位置,从pos开始查找
//7、int rfind(const char* s, int pos, int n) const;              //从pos查找s的前n个字符最后一次位置
//8、int rfind(const char c, int pos = 0) const;                  //查找字符c最后一次出现位置
//9、string& replace(int pos, int n, const string& str);          //替换从pos开始n个字符为字符串str
//10、string& replace(int pos, int n,const char* s);              //替换从pos开始的n个字符为字符串s

void test1() {
    //查找
    string s1 = "abcdefghghijkl";
    int pos = s1.find("de");
    if (pos == -1) {
        cout << "未找到" << endl;
    } else {
        cout << "pos=" << pos << endl;
    }
    //rfind从右往左找，find从左往右找
    int index = s1.rfind("de");
    cout << "index=" << index << endl;
}

void test2() {
    //替换
    string s1 = "abcdefghghijkl";
    //从1号位置起3个字符 替换为“1111”
    s1.replace(1, 3, "1111");
    cout << "s1:" << s1 << endl;
}

int main() {
    test1();
    test2();
    return 0;
}